497 lines
15 KiB
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 © 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 ============================================================-->
|