The Atari Programming FAQ The Atari Programming FAQ is copyright 1998 Tommy Jonaeson. This small FAQ was started by me (Tommy Jonaeson) one boring night in 1998 to accomplish the following goals: * Get something to do. * freshen up my own skills and knowledge, perhaps even learning something new. * To give something back to the Atari community. * Help and inspire new coders. * Support, maintain and increase the use of 68k assembly, the finest available programming language around! As of this first, released version, it contains no more than pointers as to what info & programs that are available, and where you might find it. I know it is not much, but it will have to do for now. I'm working on more sections, and if the Almighty is willing, I'd like to add the following in time: * General coding, things that every coder should know. * A "how to" section. That explains coding a specific hardware. (e.g. Keyboard) * Optimisation, (speed, size) * A section about Demo coding. Different fx, and how they are accomplished in theory. Examples of FX explained would be: * Overscan * Unlimited sprites * Scrollbars * Starfields * How to accomplish 3D objects/environments. And maybe, maybe in a distant future: * A section about GEM-programming, this is very low priority, since there already is plenty of them around. I know there are aspects of coding I haven't thought of that also would fit in this text. So this list will most certainly grow, or atleast become more detailed. I could also use all help you guys out there are willing to give me. If you got questions that you think should be covered in this text, please send them on to me, preferably with an answer. And I'll put it in this text. If you're an adept coder, and like to show it to the world, write me a text about something you just know others would like to know about! Maybe a text about the theory behind that mega-o-cool demofx you just came up with.... I'll credit anybody that contributes to this text with any info. You can reach me at: greenious@baldandsexy.com Or at IRCnet channel #atariscne as Greenious ------------------------------------------------------------------------- Q: Where can I find programming related litterature for the Atari? A: Well, it may be very hard to find brand new Atari-specific books about programming. Ask around, maybe a friend or two got a couple in the attic, or your bookstore got something down in the cellar. One solution I know that people use, is the local library! Sometimes you're just amazed of the kind of books they got in their stores! One book every serious programmer should have: The Atari Compendium, Scott Sanders, ISBN 0-9638331-0-3 This book is actually fairly new, and might be possible to find. It contains lot's of info useful for the GEM-programmer, and less for the democoder. But nonetheless it is a book recommended. It is also available on CD-rom, in HTML, PDF and PS format. Additionally, everyone interested in hardware-coding (demos, etc) should try to get atleast one of the following books: Atari ST Internals, Abacus Software, ISBN 0-916439-46-1 The concise Atari ST 68000 programmers reference guide, ISBN 1-85181-017-x Atari ST/STE hårdfakta, (swedish), ISBN 91-86201-04-2 These books can be VERY hard to find, so most of you who hasn't got any of them yet is probably not going to find them. The lack of newer documentation in print has fortunately caused people to release textfiles containing programming info. It's available at homepages and FTPs over the net. Some texts worth mentioning is: Atari ST/STe/MSTe/TT/F030 Hardware Register Listing Currently at version 7.0 this text covers most hardware registers in the atari family. Unfortunately, it has not very detailed descriptions, and it is no longer maintained. However, non-Atari specific books on programming that definately is useful for any serious programmer is available. Motorola has got manuals for those of their processors that is used in Ataris. There is also a "68000 family programmers reference manual" available from motorola that contain most of the programming specific issues for these processors. It is relevant for all atarimodels and is the one you should choose if you can choose only one book to get. For more specific information about a processors function, you should get their corresponding users manual. It doesn't contain any information about the instructions, but more in-depth information about specific issues in the processor, like the MMU for example. Atari model Processor Manual order/no --------------------------------------------------------------------------- Atari ST/STE/Stacy 68000 M68000UM/AD user manual Atari TT/F030 68030 MC68030UM/AD user manual Atari F030 56001 DSP56000UM/AD user/programming manual All 680x0 M68000PM/AD Programming manual Motorola usually gives these books away for free *if* you ask nicely. (great policy!) They also have an automated service on the net where you can order these books without charge. (free, gratis) http://www.mot-sps.com/home/lit_ord.html I've myself tried this service, and it works great! It's free, no charge at all, and it was delivered to me within a week! Most of their documentation is also available as PDF files, free to download. --------------------------------------------------------------------------- Q: What programs are available if I want to program assembler? A: Well, there's actually a whole lot of them out there. Most of them follows Motorolas standard for assemblers, and works really good. Some of the more popular is: Devpac is one of the most wellknown and used assemblers on the Atari. Version 2 is actually released as a demo freeware nowadays. Devpac is a good place to start if you are a newbie. TurboAssembler is also a popular assembler for the atari, it has a definate advantage over devpac and other assemblers when it comes to big programs. Due to it's way of actually keeping the source partially assembled in memory, it both assembles faster and bigger sources than any other assembler. PureC assembler is a favourite among those that mix C and assembler. It has better capabilities to incorporate assembler into C-programs than the stand-alone assemblers. ---------------------------------------------------------------------------- Q: Do you know of any good sites on the internet where I can find sources, programs and other coding related information that is of interest to atarians? (And ofcourse all files mentioned in this textfile!) A: Well, there aren't that many good sites around. However, DHS maintains a very good site that is *the* news source for anybody interested in the demoscene. They also have a download section with related files and a links section that is rather comprahensive. You can find it at: http://dhs.atari.org/ Tat/Avena, one of the very best Ataricoders around today, also maintains a www-page that contains a lot of useful programming info and sources. You can find his homepage at: http://tat.atari.org/ ---------------------------------------------------------------------------- Q: I want to program GEM-applications, how do I do those nifty windows? A: This is really a question for one of those nifty GEM programming tutorials. You need a resource editor, to make the resource (.RSC) files that define the graphical environment for you program. There are several good resource editors available.