old-www/LDP/LG/issue73/arndt.html

497 lines
15 KiB
HTML

<!--startcut ==============================================-->
<!-- *** BEGIN HTML header *** -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML><HEAD>
<title>The Art of Atari ST Emulation LG #73</title>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
ALINK="#FF0000">
<!-- *** END HTML header *** -->
<CENTER>
<A HREF="http://www.linuxgazette.com/">
<IMG ALT="LINUX GAZETTE" SRC="../gx/lglogo.png"
WIDTH="600" HEIGHT="124" border="0"></A>
<BR>
<!-- *** BEGIN navbar *** -->
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><A HREF="alcidi.html"><IMG ALT="[ Prev ]" SRC="../gx/navbar/prev.jpg" WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="index.html"><IMG ALT="[ Table of Contents ]" SRC="../gx/navbar/toc.jpg" WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../index.html"><IMG ALT="[ Front Page ]" SRC="../gx/navbar/frontpage.jpg" WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue73/arndt.html"><IMG ALT="[ Talkback ]" SRC="../gx/navbar/talkback.jpg" WIDTH="121" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../faq/index.html"><IMG ALT="[ FAQ ]" SRC="./../gx/navbar/faq.jpg"WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="chung.html"><IMG ALT="[ Next ]" SRC="../gx/navbar/next.jpg" WIDTH="15" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><IMG ALT="" SRC="../gx/navbar/right.jpg" WIDTH="15" HEIGHT="45" ALIGN="bottom">
<!-- *** END navbar *** -->
<P>
</CENTER>
<!--endcut ============================================================-->
<H4 ALIGN="center">
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">The Art of Atari ST Emulation</font></H1>
<H4>By <a href="mailto:matthiasarndt@gmx.net">Matthias Arndt</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<H2><A NAME="SECTION00010000000000000000">
Contents</A>
</H2>
<!--Table of Contents-->
<UL>
<LI><A NAME="tex2html16"
>Contents</A>
<LI><A NAME="tex2html17"
HREF="#SECTION00020000000000000000">1 Introduction</A>
<LI><A NAME="tex2html18"
HREF="#SECTION00030000000000000000">2 What is emulation?</A>
<LI><A NAME="tex2html19"
HREF="#SECTION00040000000000000000">3 Machine Facts</A>
<LI><A NAME="tex2html20"
HREF="#SECTION00050000000000000000">4 ST Emulation</A>
<LI><A NAME="tex2html21"
HREF="#SECTION00060000000000000000">5 ST Emulators for Linux</A>
<UL>
<LI><A NAME="tex2html22"
HREF="#SECTION00061000000000000000">5.1 Things common to all emulators</A>
<LI><A NAME="tex2html23"
HREF="#SECTION00062000000000000000">5.2 STonX</A>
<LI><A NAME="tex2html24"
HREF="#SECTION00063000000000000000">5.3 STEEM on Linux</A>
<LI><A NAME="tex2html25"
HREF="#SECTION00064000000000000000">5.4 Hatari</A>
</UL>
<LI><A NAME="tex2html26"
HREF="#SECTION00070000000000000000">6 TOS</A>
<LI><A NAME="tex2html27"
HREF="#SECTION00080000000000000000">7 Software for the ST</A>
<LI><A NAME="tex2html28"
HREF="#SECTION00090000000000000000">8 Community</A>
<LI><A NAME="tex2html29"
HREF="#SECTION000100000000000000000">9 Conclusion</A>
<LI><A NAME="tex2html30"
HREF="#SECTION000110000000000000000">About this document ...</A>
</UL>
<!--End of Table of Contents-->
<P>
<H1><A NAME="SECTION00020000000000000000">
1 Introduction</A>
</H1>
<P>
I'm quite an Atari ST fan. It was the computer that introduced me
to computing in the first place. It was a thrill that changed my life forever.
<P>
All those of you who prefer the Amiga, write your own article instead
of claiming the ST was or is crap.
<P> What? You don't know what the ST is? It's a late-80s, early-90s 16/32-bit
home and semi-professional computer system manufactured by Atari. The ST still
has many friends all over the world, the Atari ST community is very active on
the web due to the fact of emulation. Just visit the Little Green Desktop
(<A HREF="http://www.atari.st/">www.atari.st</A>)
or
<A HREF="http://www.atari.org">www.atari.org</A> to see what I mean.
<P>
This article concentrates on Atari ST emulation on Linux, describing
the available emulators and some useful information about ST emulation
in general.
<P>
<H1><A NAME="SECTION00030000000000000000">
2 What is emulation?</A>
</H1>
<P>
Emulation tries to rebuild the behavior and performance of hardware
components with software. Practically this means to make your PC think
it is another computer with a different hardware architecture and
in most cases another OS, enabling you to run a great amount of software
written for the emulated system on your real box.
<P>
In our case, this means running software for the Atari ST on your
Linux box.
<P>
<H1><A NAME="SECTION00040000000000000000">
3 Machine Facts</A>
</H1>
<P>
Anyone who is interested in emulation should at least know the hardware
facts of the emulated system. Here we go:
<P>
(all data refers to the standard ST, not the TT, Falcon or clones)
<P>
<UL>
<LI>CPU: Motorola 68000 running at 8MHz clock speed with a 32Bit wide
bus
</LI>
<LI>RAM: either 512K, 1MB, 2MB or 4MB (depending on model)
</LI>
<LI>ROM containing the OS: 192K or 256K (depending on model and OS version)
</LI>
<LI>Shifter video subsystem capable of the following video modes:
</LI>
</UL>
<OL>
<LI>320x200 pixels, 16 colours out of 512 (50 or 60Hz)
</LI>
<LI>640x200 pixels, 4 colours out of 512 (50 or 60Hz)
</LI>
<LI>640x400 monochrome running at 72Hz
</LI>
</OL>
<UL>
<LI>Yamaha sound chip playing 3 voices simultaneously
</LI>
<LI>build-in MIDI ports (In and OUT)
</LI>
<LI>ROM port to connect a 128K size cartridge
</LI>
<LI>optionally Hard disc
</LI>
<LI>up to 2 floppy drives, either SD or DD standard
</LI>
<LI>serial and parallel ports
</LI>
<LI>mouse
</LI>
<LI>Atari digital joystick support
</LI>
<LI>TV out (ordinary antenna connector) on the M and STE models
</LI>
<LI>OS: TOS (Tramiel Operating System) with builtin GEM
</LI>
<LI>models released up to 1992 (OS version and amount of RAM varies):
520ST, 520STM, 520STFM, 260ST, 520ST+, 1040ST, 1040STF, 1040STFM,
1040STE, 520STE, Mega ST1, Mega ST2, Mega ST4 and Mega STE
</LI>
</UL>
The STE models had advanced sound and graphic capabilities.
<P>
Always keep in mind that this machine was introduced in the spring
of 1985 and the masses were stunned. More capable than a Macintosh
of that period and much cheaper at that time.
<P>
Just as a little overview of what an emulator has to emulate.
<P>
<H1><A NAME="SECTION00050000000000000000">
4 ST Emulation</A>
</H1>
<P>
The first attempt at emulating the ST was the Gemulator in 1994 or
1995. It was an emulator for DOS that needed a special hardware plug-in
card. Nowadays, all ST emulators are software-only solutions.
<P>
The ST Emulation boom started in 1997 with the DOS based emulator
PacifiST written by Frederic Gidouin.
<P>
Since then several other ST emulators have reached a very high niveau
such as WinSTon or STEEM. This applies partly to ST Emulation on Linux
as well. STEEM is now officially available for Linux, and STonX is
getting better and better at each release.
<P>
<H1><A NAME="SECTION00060000000000000000">
5 ST Emulators for Linux</A>
</H1>
<P>
<H2><A NAME="SECTION00061000000000000000">
5.1 Things common to all emulators</A>
</H2>
<P>
All ST emulators have the following things in common:
<P>
<UL>
<LI>They cannot use real ST floppy discs due to problems with floppy
controller programming.
</LI>
<LI>None of these emulators emulate the MIDI ports (STEEM perhaps, at
least in the Windows version).
</LI>
<LI>None of these emulators is able to run software from copy-protected
disks, so forget about your old originals.
</LI>
</UL>
<P>
<H2><A NAME="SECTION00062000000000000000">
5.2 STonX</A>
</H2>
<P>
The famed STonX was the first and for a long time the only ST emulator
available for Unices. It now reached a really usable state, although
still not wonderful to play games and run demos on it.
<P>
A few quick facts:
<P>
<UL>
<LI>doesn't require much CPU power
to run it. A Pentium-class machine with 16MB RAM is sufficient
</LI>
<LI>either support for 4MB or 14MB of ST RAM
</LI>
<LI>supports all ST graphic modes but no overscan or rasters
</LI>
<LI>support for X and SVGALib output
</LI>
<LI>can run in window or full-screen
</LI>
<LI>support for emulated hard-drive, means; mounting of Linux directory
trees possible
</LI>
<LI>support for disk images in standard format (*.ST files found on
the net)
</LI>
<LI>support for extended ST graphic modes
</LI>
<LI>sound chip emulation
</LI>
<LI>buggy Joystick support (at least I couldn't make it work on my machine)
</LI>
<LI>supports all TOS versions but still prefers a TOS 2.x for best performance
</LI>
<LI>comes as GPLed source code
</LI>
<LI>easy to port to other Unices - STonX runs also on Solaris and AIX
</LI>
</UL>
STonX may not be the emulator of choice for games or demos but it
is definitely the emulator of choice for developing system-conformant
(meaning GEM) applications. It runs pretty fast and smooth. And I couldn't
make it crash in 6 months of operation (The emulated ST may still
crash but not the emulator program itself).
<P>
Really annoying at the moment are:
<P>
<UL>
<LI>Joystick support is buggy
</LI>
<LI>no .MSA disk image files
</LI>
<LI>no overscan
</LI>
<LI>too fast for games
</LI>
</UL>
But no program is perfect - STonX is definitely worth a try. It is
better than one might expect.
<P>
STonX can be found at: <A HREF="http://stonx.sourceforge.net/" TARGET="_blank">http://stonx.sourceforge.net/</A>.
<P>
<H2><A NAME="SECTION00063000000000000000">
5.3 STEEM on Linux</A>
</H2>
<P>
This is a port of the STEEM emulator to Linux. It is not GPLed but
freeware.
<P>
STEEM is much better suited for games, since it features even STE graphics
and sound, overscan and raster effects included. It runs many demos
and most games.
<P>
STEEM facts are:
<P>
<UL>
<LI>STE emulation included
</LI>
<LI>can use both .ST and .MSA disk images
</LI>
<LI>Joystick support via keyboard
</LI>
<LI>sound support which sometimes seems to be out of sync (sound effects
playing half a second late)
</LI>
<LI>runs all versions of TOS except 1.62 which shouldn't be used at all
</LI>
<LI>nifty interface (remember, STEEM is also available for Windows)
</LI>
<LI>runs many but not all games (at least Super Cars 2 and Xenon work
<IMG ALT=":)" SRC="../gx/dennis/smily.gif" WIDTH="20" HEIGHT="24">)
</LI>
<LI>Freeware but not GPLed: only available as a binary distribution
</LI>
</UL>
STEEM is close to be perfect. Some features of the Windows version
are still missing but it runs pretty good. And its main advantage
over STonX: it runs games and demos!
<P>
STEEM can be found at: <A HREF="http://steem.atari.org/" TARGET="_blank">http://steem.atari.org/</A>.
<P>
<H2><A NAME="SECTION00064000000000000000">
5.4 Hatari</A>
</H2>
<P>
Hatari is a port of the WinSTon source code to Linux. It is still
in early alpha phase and unusable at the moment.
<P>
Check <A HREF="http://hatari.sourceforge.net/" TARGET="_blank">http://hatari.sourceforge.net/</A> for details.
<P>
<H1><A NAME="SECTION00070000000000000000">
6 TOS</A>
</H1>
<P>
As stated above the TOS is the Atari ST's default operating system.
(You can run Minix, Mint and several other systems as well.)
<P>
Obviously, all ST emulators need a TOS ROM in order to work. It is
not included with the emulators and always keep the copyright in mind.
There are several places on the net to get TOS images, and there are
programs available that allow you to extract the TOS ROM of your ST
to a file.
<P>
<H1><A NAME="SECTION00080000000000000000">
7 Software for the ST</A>
</H1>
<P>
There is still a large amount of ST software around on the net. FTP
sites carry public domain and freeware, and some sites have pirated ST games online.
Finally, the ST community on the net is very supportive when looking
for ST software.
<P>
<H1><A NAME="SECTION00090000000000000000">
8 Community</A>
</H1>
<P>
There is a large Atari community on the net, several IRC
channels, bulletin boards and a hierarchy of Usenet news is available.
<P>
A few useful tips:
<P>
<UL>
<LI><A HREF="http://www.atari.st/" TARGET="_blank">http://www.atari.st/</A> - The Little Green Desktop (primary ST emulation
site) has a forum and an incredible games archive - go check it out.
</LI>
<LI><A HREF="http://www.atari.org/" TARGET="_blank">http://www.atari.org/</A> - The main portal of the Atari community features
news, forums and lots of links. 90% of the ST related sites on the
net can be found here in the Links archive.
</LI>
<LI>comp.sys.atari.st and other newsgroups are available
</LI>
<LI>#atari on IRC may help as well
</LI>
</UL>
At the time of this writing, November 2001, the Little Green Desktop
is still in a redesign phase but that may change by the time this
article is online.
<P>
<H1><A NAME="SECTION000100000000000000000">
9 Conclusion</A>
</H1>
<P>
The Atari ST is still alive - and you can support this development
on Linux. Join us by running an Atari ST emulator. Even if you never
had an ST, it is worth a try.
<P>
Take me for example, I never had a C64, VCS2600 or ZX Spectrum, but
I run emulators for all of them.
<P>
Always remember: Atari will never die!
<!-- *** BEGIN bio *** -->
<SPACER TYPE="vertical" SIZE="30">
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Matthias Arndt</H4>
<EM>I'm a Linux enthusiast from northern Germany.
I like plain old fifties rock'n'roll music, writing
stories and publishing in the Linux Gazette, of course.
Currently I'm studying computer science in conjunction with
economics.</EM>
<!-- *** END bio *** -->
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2001, Matthias Arndt.<BR>
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
Published in Issue 73 of <i>Linux Gazette</i>, December 2001</H5>
<!-- *** END copyright *** -->
<!--startcut ==========================================================-->
<HR><P>
<CENTER>
<!-- *** BEGIN navbar *** -->
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><A HREF="alcidi.html"><IMG ALT="[ Prev ]" SRC="../gx/navbar/prev.jpg" WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="index.html"><IMG ALT="[ Table of Contents ]" SRC="../gx/navbar/toc.jpg" WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../index.html"><IMG ALT="[ Front Page ]" SRC="../gx/navbar/frontpage.jpg" WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue73/arndt.html"><IMG ALT="[ Talkback ]" SRC="../gx/navbar/talkback.jpg" WIDTH="121" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../faq/index.html"><IMG ALT="[ FAQ ]" SRC="./../gx/navbar/faq.jpg"WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="chung.html"><IMG ALT="[ Next ]" SRC="../gx/navbar/next.jpg" WIDTH="15" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><IMG ALT="" SRC="../gx/navbar/right.jpg" WIDTH="15" HEIGHT="45" ALIGN="bottom">
<!-- *** END navbar *** -->
</CENTER>
</BODY></HTML>
<!--endcut ============================================================-->