This page (revision-14) was last changed on 03-Feb-2023 15:21 by Steve N 

This page was created on 14-Mar-2010 18:35 by Carsten Strotmann

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
14 03-Feb-2023 15:21 49 KB Steve N to previous Corrected "the the" and expanded Rastaconverter with a link also
13 23-Jan-2016 02:34 49 KB Steve N to previous | to last Adding link to new xBIOS document
12 10-Jan-2016 05:47 49 KB Steve N to previous | to last Added reference to Rastaconverter
11 10-Jan-2016 05:36 49 KB Steve N to previous | to last Updated reference to RMT, latest version now 1.28 but no longer supported
10 10-Jan-2016 05:24 48 KB Steve N to previous | to last Text links updated to hyperlinks. Links not checked to see if working.
9 10-Jan-2016 05:15 48 KB Steve N to previous | to last Corrected typo in link which made it look erroneous
8 10-Jan-2016 05:13 48 KB Steve N to previous | to last Added myself to the contributors list
7 10-Jan-2016 05:10 48 KB Steve N to previous | to last Added xBIOS section - I hope to inflate this out later.
6 10-Jan-2016 00:32 48 KB Steve N to previous | to last cc65 comment updated to reflect that it is no longer developed.
5 10-Jan-2016 00:26 48 KB Steve N to previous | to last Updated MADS section with link to English MADS documentation.
4 10-Jan-2016 00:17 48 KB Steve N to previous | to last Changed punctuation, capitalising, correct typos - no change to material content
3 20-Aug-2010 11:33 48 KB Gromit to previous | to last Tabellen
2 14-Mar-2010 18:37 48 KB Carsten Strotmann to previous | to last
1 14-Mar-2010 18:35 48 KB Carsten Strotmann to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 changed one line
!!! Ironman Atari - A Compilation of Advanced Atari 8-bit Programming Techniques
!!! Ironman Atari - A compilation of advanced Atari 8-bit programming techniques
At line 11 changed one line
Welcome to "Ironman Atari", a collection of articles detailing new techniques in Atari 8-bit programming. Although the golden Age for Atari has long passed, several new programming methods have been discovered or rediscovered over the past decade. These new methods push and twist classic Atari iron in ways that might have surprised even Jay Miner himself.
Welcome to "Ironman Atari", a collection of articles detailing new techniques in Atari 8bit programming. Although the Golden Age for Atari has long passed, several new programming methods have been discovered or rediscovered over the past decade. These new methods push and twist classic Atari iron in ways that might have surprised even Jay Miner himself.
At line 13 changed one line
Today, the internet provides a forum that allows people to share information in a manner unsurpassed in the past. This is a compilation of articles gathered for the purpose of preserving this knowledge for future programmers. Who knows? In another 25 years, there may still be people hacking away on their trusty Atari computers. Many of the articles here have been gathered from a variety of sources, including USENET, user forums and solicited articles. Wherever possible credit has been given to the original authors. If you find an attribution that is missing or in error, please contact me so that the attribution can be corrected.
Today, the Internet provides a forum that allows people to share information in a manner unsurpassed in the past. This is a compilation of articles gathered for the the purpose of preserving this knowledge for future programmers. Who knows? In another 25 years, there may still be people hacking away on their trusty Atari computers. Many of the articles here have been gathered from a variety of sources, including USENET, user forums and solicited articles. Where ever possible credit has been given to the original authors. If you find an attribution that is missing or in error, please contact me so that the attribution can be corrected.
At line 21 changed one line
__Atari Graphics and Advanced Arcade Game Design__ , by Jeffrey Stanton and Dan Pinal. The full text of this book is available on-line at [http://www.atariarchives.org/agagd|http://www.atariarchives.org/agagd]
__Atari Graphics and Advanced Arcade Game Design__ , by Jeffrey Stanton and Dan Pinal. The full text of this book is available on-line at [http://www.atariarchives.org/agagd>http://www.atariarchives.org/agagd]
At line 23 changed one line
__Atari Hardware Manual Atari Roots, A Guide to Atari Assembly Language__, by Mark Andrews. The full text is available at [http://www.atariarchives.org/roots]
__Atari Hardware Manual Atari Roots, A Guide to Atari Assembly Language__, by Mark Andrews. The full text is available at http://www.atariarchives.org/roots
At line 25 changed one line
__De Re Atari ? By Chris Crawford, Lane Winner, Jim Cox, Amy Chen, Jim Dunion, Kathleen Pitta, Bob Fraser, and Gus Makrea__. This is THE seminal work on the Atari home computer and should be considered required reading. The full text can be found on-line at [http://www.atariarchives.org/dere]
__De Re Atari ? By Chris Crawford, Lane Winner, Jim Cox, Amy Chen, Jim Dunion, Kathleen Pitta, Bob Fraser, and Gus Makrea__. This is THE seminal work on the Atari home computer and should be considered required reading. The full text can be found on-line at http://www.atariarchives.org/dere
At line 27 changed one line
__Dr. C. Wacko's Miracle Guide to Designing and Programming Your Own Atari Computer Arcade Games, by Robert Kurcina, David L. Heller, and John F. Johnson__. This book can still be found on [http://www.amazon.com].
__Dr. C. Wacko's Miracle Guide to Designing and Programming Your Own Atari Computer Arcade Games, by Robert Kurcina, David L. Heller, and John F. Johnson__. This book can still be found on Amazon.com.
At line 29 changed one line
__Mapping the Atari! Revised Edition, by Ian Chadwick__. The full text can be found online at [http://www.atariarchives.org/mapping]
__Mapping the Atari! Revised Edition, by Ian Chadwick__. The full text can be found on-line at http://www.atariarchives.org/mapping
At line 31 changed one line
Eventually, I would like to see this expand into a larger work with well-commented programs and games that demonstrate the advanced techniques described. It is not just technology that has advanced over the last 25 years, but also the sophistication of the gaming market. There are several games that exist today, particularly on handheld devices such as phones and the GBA/DS/PSP or the emerging Flash based minigame market that are not out of reach for the Atari 8-bit. All it takes is the knowledge to program and the time to do so. Here is to the next 25 years!
Eventually, I would like to see this expand into a larger work with well-commented programs and games that demonstrate the advanced techniques described. It is not just technology that has advanced over the last 25 years, but also the sophistication of the gaming market. There are several games that exist today, particularly on hand-held devices such as phones and the GBA/DS/PSP or the emerging Flash based minigame market that are not out of reach for the Atari 8-bit. All it takes is the knowledge to program and the time to do so. Here is to the next 25 years!
At line 48 changed 2 lines
* AtariSIO version 0.2.0: AtariSIO is a Linux kernel module and user-level program by Mattias Reichl that allows the use of a SIO2PC cable under Linux. AtariSIO is available at [http://www.horus.com/~hias/atari]
* AtariMax flash cartridge (1 megabit): This cartridge is available in 8 megabit size. AtariMax flash cartridges are reprogrammable flash-memory based cartridges. This effectively provides extra memory that can be quickly paged in for things like unrolled code loops, look-up tables, etc. More information can be found at [http://www.atarimax.com/flashcart/documentation]
* AtariSIO version 0.2.0: AtariSIO is a Linux kernel module and user-level program by Mattias Reichl that allows the use of a SIO2PC cable under Linux. AtariSIO is available at http://www.horus.com/~hias/atari
* AtariMax flash cartridge (1 megabit): This cartridge is available in 8 megabit size. AtariMax flash cartridges are reprogrammable flash-memory based cartridges. This effectively provides extra memory that can be quickly paged in for things like unrolled code loops, look-up tables, etc. More information can be found at http://www.atarimax.com/flashcart/documentation
At line 55 changed 4 lines
* ATasm v #5: ATasm is highly compatible with the original OSS Mac/65 native compiler. ATasm is written in C, and compiles without modification on any platform that has a GCC compiler. ATasm has been specifically designed for the development of programs for the Atari home computer. It can produces Atari native binary load object files, raw cartridge images, and can optionally target the machine state files produced by many emulators. Binary load files can also be written to disk images for easy loading in other emulators or onto real hardware via SIO2PC. It is available at [http://atasm.sourceforge.net]
* Another popular assembler that is also Atari specific is XASM by Fox of Taquart. This assembler is compatible with JBW's Quick Assembler, which was the primary assembler used in Poland and other eastern European countries during the 1990s. XASM includes several pseudo-instructions (like mva) and pseudo-indexing modes. In addition, it can generate Atari native binary object files and has includes utilities to create boot disk images. XASM can be found at [http://atariarea.krap.pl/x-asm/]
* If you are looking for a Linux assembler that is Quik Assembler compatible, try a program called Zooey, found at [http://atari8.sourceforge.net/zooey.html]
* Another assembler worth considering is the MADS assembler, found at http://mads.atari8.info/; The latest documentation is always provided in Polish, however there is an English translation of version 1.9.5 provided here: [http://mads.atari8.info/mads_eng.html]
* ATasm v #5: ATasm is highly compatible with the original OSS Mac/65 native compiler. ATasm is written in C, and compiles without modification on any platform that has a GCC compiler. ATasm has been specifically designed for the development of programs for the Atari home computer. It can produces Atari native binary load object files, raw cartridge images, and can optionally target the machine state files produced by many emulators. Binary load files can also be written to disk images for easy loading in other emulators or onto real hardware via SIO2PC. It is available at http://atasm.sourceforge.net
* Another popular assembler that is also Atari specific is XASM by Fox of Taquart. This assembler is compatible with JBW's Quick Assembler, which was the primary assembler used in Poland and other eastern European countries during the 1990s. XASM includes several pseudo-instructions (like mva) and pseudo-indexing modes. In addition, it can generate Atari native binary object files and has includes utilities to create boot disk images. XASM can be found at http://atariarea.krap.pl/x-asm/ ;
* If you are looking for a Linux assembler that is Quik Assembler compatible, try a program called Zooey, found at http://atari8.sourceforge.net/zooey.html
* Another assembler worth considering is the MADS assembler, found at http://mads.atari8.info/; Currently, the documentation is in Polish, but efforts are underway to provide an English translation.
At line 61 changed one line
* Some projects have been written using cc65, a version of C that targets the 6502. In addition to providing a high-level language, the project also provides an assembler and a powerful linker, allowing basic library management. cc65 can be found at [http://www.cc65.org/]. Please note that cc65 is no longer developed, support slowed down and the website will lead you to other sites.
* Some projects have been written using cc65, a version of C that targets the 6502. In addition to providing a high-level language, the project also provides an assembler and a powerful linker, allowing basic library management. cc65 can be found at http://www.cc65.org/.
At line 64 changed 3 lines
* envisionPC is a font/map editing program similar to the original Envision program written for the Atari. It runs on an IBM PC (either Linux or DOS/Windows) and includes all source code. It will load and save maps and character sets to disk images, MAC/65, and Action! formats. It is available at [http://atari.miribilist.com/envision/index.html]
* gEnvision is another Envision-like program written for Linux written by Larry Richardson. gEnvision will allow you to edit Atari character sets in either single or multicolor modes. It will let you create character based "maps" of up to 256x256 characters. It will save characters sets and maps as MAC/65 source code. gEnvision is available at [http://bellsouthpwp.net/r/i/rich5462]
* graph2font is a conversion utility for full screen pictures. Graph2Font has evolved into a full-featured graphics editor and conversion tool. The latest version can be found at [http://g2f.atari8.info]
* envisionPC is a font/map editing program similar to the original Envision program written for the Atari. It runs on an IBM PC (either Linux or DOS/Windows) and includes all source code. It will load and save maps and character sets to disk images, MAC/65, and Action! formats. It is available at http://atari.miribilist.com/envision/index.html
* gEnvision is another Envision-like program written for Linux written by Larry Richardson. gEnvision will allow you to edit Atari character sets in either single or multicolor modes. It will let you create character based "maps" of up to 256x256 characters. It will save characters sets and maps as MAC/65 source code. gEnvision is available at http://bellsouthpwp.net/r/i/rich5462
* graph2font is a conversion utility for full screen pictures. Graph2Font has evolved into a full-featured graphics editor and conversion tool. The latest version can be found at http://g2f.atari8.info
At line 70 changed 2 lines
* RMT: RASTER Music Tracker (RMT) is a cross-platform tool for making music on a Windows PC. RMT uses Atari music routines written by Radek Sterba. The latest version (1.28) is available at [http://raster.infos.cz/atari/rmt/rmt.htm]. Please note that RMT is no longer supported due to Radek passing away.
* sox: Sound eXchange : universal sound sample translator is a UNIX utility used to convert samples between formats.
* RMT #26: RASTER Music Tracker (RMT) is a cross-platform tool for making music on PC (OS Win9x). RMT uses Atari music routines written by Radek Sterba. Available at http://raster.infos.cz/atari/rmt/rmt.htm
* sox: Sound eXchange : universal sound sample translator is a UNIX utility used to convert samples between formats
At line 75 changed 3 lines
* Atari800 #3.3 emulator: This is free and portable Atari800/XL/XE/5200 emulator, originally written by David Firth and now developed by the Atari800 Development Team headed up by Petr Stehlik. This is the primary emulator that I use. It has a very nice monitor for debugging and recently has added cycle-exact emulation and greatly improved POKEY emulation. The Atari800 emulator is available at [http://atari800.sourceforge.net].
* The Atari++ emulator is also an excellent emulator by Thomas Richter. It was the first cycle-exact emulator and provides many useful functions including a very nice monitor and emulation of Flash cartridges. Atari++ is available at [http://www.math.tu-berlin.de/~thor/atari++]
* Atari800Win Plus: This emulator is Windows only, but is considered one of the best emulators around. It can be found at [http://www.a800win.atari-area.prv.pl].
* Atari800 #3.3 emulator: This is free and portable Atari800/XL/XE/5200 emulator, originally written by David Firth and now developed by the Atari800 Development Team headed up by Petr Stehlik. This is the primary emulator that I use. It has a very nice monitor for debugging and recently has added cycle-exact emulation and greatly improved POKEY emulation. The Atari800 emulator is available at http://atari800.sourceforge.net.
* The Atari++ emulator is also an excellent emulator by Thomas Richter. It was the first cycle-exact emulator and provides many useful functions including a very nice monitor and emulation of Flash cartridges. Atari++ is available at http://www.math.tu-berlin.de/~thor/atari++
* Atari800Win Plus: This emulator is Windows only, but is considered one of the best emulators around. It can be found at http://www.a800win.atari-area.prv.pl.
At line 176 changed 6 lines
|| DLIST ONE || DLIST TWO
| mode 9 | mode 10
| mode 10 | mode 9
| mode 9 | mode 10
| mode 10 | mode 9
| ... | ...
|| DLIST ONE || DLIST TWO ||
| mode 9 | mode 10 |
| mode 10 | mode 9 |
| mode 9 | mode 10 |
| mode 10 | mode 9 |
| ... | ... |
At line 200 changed 12 lines
| 9 | #000 | #111 | #222 | #111 | #222 | #333 | #444 | #333 | #444 |
| 10 | #000 | #000 | #000 | #222 | #222 | #222 | #222 | #444 | #444 |
| HIP | #0.0 | #0.5 | ##0 | ##5 | #2.0 | #2.5 | #3.0 | #3.5 | #4.0 |
| 9 | #555 | #666 | #555 | #666 | #777 | #888 | #777 | #888 | #999 |
| 10 | #444 | #444 | #666 | #666 | #666 | #666 | #888 | #888 | #888 |
| HIP | #4.5 | #5.0 | #5.5 | #6.0 | #6.5 | #7.0 | #7.5 | #8.0 | #8.5 |
| 9 | #AAA | #999 | #AAA | #BBB | #CCC | #BBB | #CCC | #DDD | #EEE |
| 10 | #888 | #AAA | #AAA | #AAA | #AAA | #CCC | #CCC | #CCC | #CCC |
| HIP | #9.0 | #9.5 | #A.0 | #A.5 | #B.0 | #B.5 | #C.0 | #C.5 | #D.0 |
| 9 | #DDD | #EEE | #FFF | | | | | | |
| 10 | #EEE | #EEE | #EEE | | | | | | |
| HIP | #D.5 | #E.0 | #E.5 | | | | | | |
|| | | || || || || || || || || ||
| 9 | #000 | #111 | #222 | #111 | #222 | #333 | #444 | #333 | #444 |
| 10 | #000 | #000 | #000 | #222 | #222 | #222 | #222 | #444 | #444 |
| HIP | #0.0 | #0.5 | ##0 | ##5 | #2.0 | #2.5 | #3.0 | #3.5 | #4.0 |
| 9 | #555 | #666 | #555 | #666 | #777 | #888 | #777 | #888 | #999 |
| 10 | #444 | #444 | #666 | #666 | #666 | #666 | #888 | #888 | #888 |
| HIP | #4.5 | #5.0 | #5.5 | #6.0 | #6.5 | #7.0 | #7.5 | #8.0 | #8.5 |
| 9 | #AAA | #999 | #AAA | #BBB | #CCC | #BBB | #CCC | #DDD | #EEE |
| 10 | #888 | #AAA | #AAA | #AAA | #AAA | #CCC | #CCC | #CCC | #CCC |
| HIP | #9.0 | #9.5 | #A.0 | #A.5 | #B.0 | #B.5 | #C.0 | #C.5 | #D.0 |
| 9 | #DDD | #EEE | #FFF | | | | | | |
| 10 | #EEE | #EEE | #EEE | | | | | | |
| HIP | #D.5 | #E.0 | #E.5 | | | | | | |
At line 258 changed 6 lines
|| DLIST ONE || DLIST TWO ||
| mode 11 | mode 11 |
| mode 9 | mode 10 |
| mode 11 | mode 11 |
| mode 10 | mode 9 |
| ... | ... |
|| DLIST ONE || DLIST TWO ||
| mode 11 | mode 11 |
| mode 9 | mode 10 |
| mode 11 | mode 11 |
| mode 10 | mode 9 |
| ... | ... |
At line 265 removed one line
At line 291 changed one line
enough memory-bartprint that the entire screen can be updated in a single vertical blank
enough memory-footprint that the entire screen can be updated in a single vertical blank
At line 309 changed one line
# The display list is significantly shorter.
# The display list is significantly shorter
At line 311 changed one line
# The height of each line mode can be easily modified (up to a height of 16 pixels).
# The height of each line mode can be easily modified (up to a height of 16 pixels)
At line 526 changed one line
presented in first-person perspective. For instance, the Atari port of Space Harrier by
presented in first-person perspective. For instance, the Atari port of Space Harrier by
At line 560 changed one line
[{Image src='mwp1.png' }]
[{Image src='mwp#png' }]
At line 592 changed one line
It is possible to scroll high resolution graphics (320 pixels wide) at half a color clock at a
It is possible to scrolling high resolution graphics (320 pixels wide) half-color clock at a
At line 714 changed one line
connected to the printed circuit board, then take a 4.7 kilohm or 5.6 kilohm. resistor and
connected to the printed circuit board, then take a 4.7 kilohm or 5.6 kilohm. resister and
At line 884 changed one line
[http://jaskier.atari8.info/menu2/TMC2/TMC2.zip]
http://jaskier.atari8.info/menu2/TMC2/TMC2.zip
At line 916 changed one line
Changing position, color AND shape of a single PM on a single line.
changing position, color AND shape of a single PM on a single line
At line 920 changed one line
Hardware registers no longer mean anything, use masks, bboxes, etc.
hardware registers no longer mean anything, use masks, bboxes, etc.
At line 922 removed 16 lines
!! File Access
! xBIOS
xBIOS is almost like a programmers version of DOS. With it you can easily access files from your programs without using Atari DOS. It is smaller than DOS and therefore saves memory in your programs. You can even run programs from as low as $0200. xBIOS can read and write from/to existing files but can not write new files or directories from your programs.
[Link to official xBIOS page (Polish)|http://xxl.atari.pl/]
[xBIOS]
!! Advanced Graphical Tools
! Rastconverter
[Rastaconverter] is a Windows/Linux based utility which iteratively converts ordinary jpeg/gif/png files into executable files which display the pictures natively on the Atari 8-bit. Rastaconverter uses all the power of display list interrupts and player missile graphics to allow the maximum number of colours possible on the screen concurrently. [https://github.com/ilmenit/RastaConverter]
At line 940 changed one line
! Accessing additional memory
! Accessing additional memory
At line 942 changed one line
Document laying around somewhere on this (see 8-bit news FAQ?).
Document laying around somewhere on this (see 8-bit news FAQ?)
At line 946 changed one line
No idea at all.
No idea at all
At line 950 changed one line
In development - no idea at all.
In development - no idea at all
At line 958 changed one line
and more, visit the current homepage at [http://vbxe.atari8.info/].
and more, visit the current homepage at http://vbxe.atari8.info/.
At line 964 changed 6 lines
* Heaven/Tarquart: HIP, TIP
* Sheddy (Chris Hutt): Digital sample playback
* Jaskier/Taquart (Marcin Lewandowski): Mouse driver
* Mathy van Nisselroy: Hardware mouse modifications
* Snicklin (Steve Nicklin): xBIOS
* Mark Schmelzenbach: Editor
* Heavan/Tarquart: HIP,TIP
* Sheddy (Chris Hutt): digital sample playback
* Jaskier/Taquart (Marcin Lewandowski): mouse driver
* Mathy van Nisselroy: hardware mouse modifications
* Mark Schmelzenbach, editor