2004.12_Bygone Battles-Emulating Legacy Computer Systems in Linux.pdf
(
8310 KB
)
Pobierz
Layout 1
LINUX USER
Retro-Gaming
Bygone Battles
Do you miss your trusty Sinclair Spectrum? Do you long for the Commodore you know only in your history books? Old
platforms come alive using the tools of the retro-gamers.
BY IAN POINTER
tled on the IBM PC, there were
many different types of computers
with exotic-sounding names like Enter-
prise, Oric, Dragon, Electron, Spectrum,
and Amiga. Although these machines are
no longer with us, most of these legacy
systems sill have ardent fans that keep
their memory alive. These fans prefer the
simplicity of the older era – when pro-
grams had to fit inside tiny quantities of
memory and programmers had to use
every trick they could imagine to get the
most out of a computer – to the fast
processors and gigabytes storage of
today.
These enthusiasts are more common
than you might think; the coming of the
Internet has allowed people from all
across the world to reminisce about the
past, and for the last eight years, a Clas-
sic Gaming Expo (
http://www.cgexpo.
com
) has been held in America, with
exhibitions from big arcade firms like
Midway and Konami, plus lectures from
hardware geniuses such as Steve Woz-
niak, co-founder of Apple.
While purists will be satisfied with
nothing less than the real machines,
in many cases this is not practical or pos-
sible, and so the enthusiasts started
writing programs called
emulators
,
which allow old computers to be simu-
lated on today’s hardware. These
programs often go beyond the original’s
capabilities, for example allowing the
state of the computer to be saved for
later use (useful when playing games),
or providing the ability to communicate
with other copies of the emulator over
the Internet.
This article will explain where to
obtain some of the more popular Linux-
based emulators (starting with the early
8-bit systems then moving on to 16-bit
computers and consoles),where to get
software to run on them, and how you
can even use Linux to develop new pro-
grams for these old computers.
found at
http://www.libsdl.org
. It is
probably best to download the source
and build it manually, so you can be sure
it doesn’t use older graphics systems like
svgalib
.
Fuse emulates all the major revisions
of the Spectrum, including the American
Timex versions plus some of the Russian
clones. It also has a method of recording
applications you are using for later play-
back, so you can send proof that you
have completed Jet Set Willy to all your
friends. The interface is a little esoteric;
the menu system within the emulator is
custom built and accessed via the func-
tion keys. This makes reading the
accompanying documentation almost
essential, although for most cases, press-
ing F1, ‘F’ for File, and ‘O’ to load a
Spectrum image file will be enough to
get by.
World of Spectrum [1] is a repository
for Sinclair information, and it contains
scans of magazines and copies of the
manuals, as well as thousands of games
and other software. Five games that are
worth seeking out are: 3D Deathchase,
Sinclair Spectrum
The Spectrum, released in 1982, was the
most popular home computer in the UK,
and it is fondly remembered for its
strange rubber keyboard. Despite its lim-
ited color and sound abilities, it built up
an impressive software library, compris-
ing thousands of games and other types
of applications. It went through multiple
revisions, starting with the humble origi-
nal with 16 Kilobytes of RAM, to a
version with a 3” inch disk drive, a
proper keyboard, an improved sound
chip, and 128 Kilobytes of RAM. The
Spectrum also flourished in the Soviet
Union; the plans for the machine were
smuggled across the Iron Curtain, lead-
ing to the production of many illegal
clones.
Fuse is a Spectrum emulator for Linux
that can be found at
http://fuse-
emulator.sourceforge.net
. Like all the
emulators in this article, it works best
with the SDL libraries, which can be
78
December 2004
www.linux-magazine.com
Emulating Legacy Game Platforms
B
efore the computer industry set-
Retro-Gaming
LINUX USER
Jet Set Willy (seen in Figure 1), Dan Dare
III, Robocop, and Chaos.
into the 16-bit era. It was popular with
filmmakers due to a hardware add-on
called the Video Toaster, which allowed
the Amiga to mix digital effects with
video, and was used to generate some of
the special effects for TV series such as
SeaQuest DSV and Babylon 5.
There were many different versions of
the Amiga, from the original Amiga 1000
in 1985, the more common Amiga 500
model, and even ending up as the
insides of a CD-ROM based console, the
unsuccessful CD-32. The Amiga is some-
thing of a survivor, with a committed
user base that has stuck by it as it was
passed from company to compnay fol-
lowing the collapse of Commodore in
1994. The Amiga is now owned by the
Amiga Corporation, which is trying to
market the technology for use in mobile
devices.
A Linux emulator called Unix Amiga
Emulator (UAE) has existed for several
years, but for the past year, development
has focussed on the Windows port, Win-
UAE, and the original version has been
neglected. Richard Drummond forked
the orignal codebase, and maintains
what he calls Experimental UAE at
http://www.rcdrummond.net/uae
, which
incorporates many of the recent addi-
tions to WinUAE.
Unfortunately, you can’t just down-
load the emulator and expect it to work
straightaway. The Amiga stored part of
its operating system on a ROM chip
known as Kickstart, and EUAE requires a
copy of this ROM. While the Spectrum
and C64 ROM images have been released
for free distribution, the Amiga ROM is
the property of Amiga Corporation and is
still protected by copyright laws. You
can, however, buy a copy of the Kickstart
ROMs from the Amiga Forever website
[3], at the price of $29.99.
Commodore 64
While the Spectrum was the computer of
the UK and Russia, in the rest of the
world the Commodore 64 was the most
popular 8-bit system. For its time, it had
wonderful graphics, a proper keyboard,
and a sound chip that still sounds
impressive today. Over ten thousand
applications were released for it during
its lifespan, and the addition of a disk
drive meant that it had more ambitious
applications than the Spectrum, for
example GEOS, a primitive GUI window-
ing system.
There are several C64 emulators for
Linux, but the most comprehensive is
VICE (
http://www.viceteam.org
). Not
only does VICE emulate the C64, but it
also includes emulators to run the PET,
VIC-20, C-16, the Plus/4, and the C128
machines as well, which is almost every
Commodore machine up until the
release of the Amiga.
VICE can record snapshots for later
playback, and it also allows the video
and audio streams to be recorded in
MPEG form, as long as the
ffmpeg
library
is present. The user interface is rather
confusing; menus are accessed via hold-
ing the left or right mouse buttons, and
you must select the item before releasing
the button.
There are also some installation
issues; I built VICE from source and used
make install
as usual, but when running
the emulator, I found I couldn’t type any-
thing on the C64 screen. It turned out
that I needed to set a
keymap
file indi-
vidually via the right-mouse button
menu. Apart from those glitches, VICE is
a very good emulator.
For C64 games, C64.com [2] is a good
resource. It isn’t as thorough as World of
Spectrum, but it contains most of the
best games available for the system. The
site has downloads available as tape and
disk images. From this archive, five rec-
ommended games are: International
Karate +, Little Computer People, Wiz-
ball, California Games, and Impossible
Mission (shown in Figure 2).
Figure 2: Impossible Mission on VICE.
EUAE is rather complex to use; it has
the standard GTK library for its user
interface, but because there are so many
different varieties of Amiga, each of
which can have different amounts of
hard drives, disk drives, and even types
of memory, the emulator has an over-
whelming amount of options available.
However, for most games, the standard
options will suffice.
Like the ROM, most Amiga games are
not freely available, but certain compa-
nies have given permission for their
games to be distributed at no charge. You
will find several at the Amiga In A Box
website [4]. Another good resource is
Aminet [5], which contains a vast array
of public domain/shareware/GPL games
and utilities. Commercial games you
should try and seek out are Sensible Soc-
cer (shown in Figure 3), Midwinter,
Cannon Fodder, Formula 1 Grand Prix,
and Gravity Power.
Atari ST
Atari’s answer to the Amiga was the ST,
a similar machine in some respects as it
used the same CPU, but it lacked the
Amiga’s custom-built sound and graph-
ics chips. However, a dedicated MIDI
interface on the machine made the ST
the system of choice of musicians
around the world. Like the Amiga, it
went through several revisions, eventu-
ally metamorphosing into the Atari
Falcon, an ill-fated machine that would
be the last Atari computer.
Hatari, found at
http://hatari.
sourceforge.net
, is an ST emulator for
Linux. It is in the beginning stages of
development, but although it isn’t com-
plete, it is advanced enough to run many
programs.
Commodore Amiga
The Amiga furthered Commodore’s rep-
utation for making impressive computers
Figure 1: Jet Set Willy running on FUSE.
www.linux-magazine.com
December 2004
79
LINUX USER
Retro-Gaming
Like the Amiga, the ST had its operat-
ing system stored on a ROM chip, and
again this isn’t freely available. To get
around this, Hatari includes a free re-
implementation of the ROM that uses
none of Atari’s code, so it doesn’t need
any more files (although you can supply
a proper ST ROM image if you have one).
Again, this emulator uses a custom
menu system, accessed by pressing F12.
Although the ST also came in many fla-
vors, Hatari’s menus are easy-to-follow
and straight-forward to use.
Little Green Desktops [6] contains
links to public domain and shareware ST
games, while the Cinemaware site
(
http://www.cinemaware.com
) has a
Vault section where its old ST games are
available for free download. Also, the
Dungeon Master Encyclopaedia page
(
http://dmweb.free.fr/FTLGames.htm
)
contains Amiga and ST versions of Dun-
geon Master that can be downloaded.
Apart from Dungeon Master, interesting
games to find are Populous, Carrier Com-
mand, Stunt Car Race, and Oids (shown
in Figure 4).
find Gens at
http://gens.consolemul.com
.
However, every attempt I made at load-
ing a game caused a crash on my Fedora
Core 2 machine. I found another emula-
tor, Generator (
http://www.squish.net/
generator
), with fewer features and no
32X/Mega-CD support, that could load
games without crashing. It is basic, but it
runs games at a reasonable speed. I
would recommend trying Gens to see if it
works, since it claims a higher compati-
bility rate and more complete emulation
than Generator.
It is very hard to find legal games for
the consoles. Many titles are being re-
released for newer systems like the
Playstation, and so the games companies
are very protective of their intellectual
property. Some public domain games
can be found at Zophar’s Domain [7], a
general emulation site. Figure 5 shows
Generator playing Moonwalker, an
action game based around Michael Jack-
son’s film of the same name. Other
interesting games include: Sonic, Mortal
Kombat, Strider, and Gunstar Heroes.
Figure 5: The Generator emulator running Moon-
walker.
emulates most of the SNES’s features,
including the Super FX chip, which
appeared in later games like Super
Stunt Race FX and the SNES version of
Doom. It also includes an option for hav-
ing multiple players playing the same
game over the Internet, which opens up
game playing possibilities that never
existed on the real console. The Linux
version of ZSNES can be found at
http://
ipherswipsite.com/zsnes
.
As with the Megadrive, the ROM
images of game cartridges are not avail-
able to legally download. Again,
however, there are several public domain
games for downloading on Zophar.
SNES
The SNES was the other major 16-bit
console. Although it was second in pop-
ularity to the Megadrive, its specialized
graphics and sound chips meant that
there were many impressive titles avail-
able for the system, like F-Zero, Chrono
Trigger, Starfox, Super Streetfighter 2,
and Super Mario World (shown in Figure
6). Unlike the Megadrive, there were no
add-on improvements to the original
hardware; Sony and Nintendo worked
together on a CD-ROM add-on, but the
companies fell out, and Sony took their
side of the project and re-made it as the
Playstation.
ZSNES is a Windows SNES emulator
that has been around for several years
now, and it has been ported to Linux. It
Genesis
The Sega Megadrive (known as the Gen-
esis in America) was the first and most
popular 16-bit console. With its mascot
Sonic The Hedgehog, it ran rings around
Nintendo’s graphically superior SNES.
The system also sported a number of
add-ons in its later years, including a CD
drive called the Mega-CD, which brought
full-motion video and the huge capacity
of CDs to the console, and the 32X,
which provided an upgrade to the graph-
ics and CPU subsystems so the
Megadrive could run complex 3D games
like Virtua Racing and Star Wars Arcade.
Gens is a Megadrive emulator that
says it can run 32X and MegaCD games
in addition to standard ones. You can
Development
Even though these machines are no
longer made (except for the Amiga), all
of them still have thriving development
communites. Even the Spectrum and
Commodore 64 have programmers dedi-
cated to squeezing the last drop of
performance from their aging graphics
and sound capabilities, producing fabu-
lous animations known as demos. Some
of the best of these can be found at
http://www.c64.ch
and
http://www.
zxdemo.org
.
The advent of emulators means
that you no longer need to own the ori-
ginal machine to write for them;
everything can be written on a current
machine and then tested in the emulator.
The Amiga and ST have ports of GCC
available, but if you want to program for
the consoles or the 8-bit systems, you
will have to delve into assembler pro-
gramming.
Each machine uses a different CPU, so
you’ll have to learn different types of
assembler for each one, as well as dis-
Figure 3: EUAE running Sensible Soccer.
Figure 4: Oids on the Hatari emulator.
80
December 2004
www.linux-magazine.com
Retro-Gaming
LINUX USER
covering how to drive the custom chips.
Thankfully, the Internet has collected
most of the information, turning this
from an impossible task into a merely
hard one. Programmer’s Heaven con-
tains guides for lots of different systems,
and USENET groups like
comp.sys.
sinclair
can offer help for people wishing
to program old systems.
While retro-programming
is mostly done for love,
there are a few companies
that actually make some
money out of it. For exam-
ple, various firms make
money selling cartridges of
new Atari 2600 games at
Atari Age (
http://www.
atariage.com/store/index.
php
).
most of the activity in the retro scene. As
you can imagine, many more emulators
are available for Linux. If you go to
http://linuxemu.retrofaction.com
, you
will find many links to other emulators,
from gaming systems like the NeoGeo
Pocket, to more historical projects, such
as an emulator for the famous 1949 Man-
chester Baby.
■
Ian Pointer is a Com-
puter Science
graduate from the
University of Man-
chester. He grew up
with a Spectrum 48K,
until it melted after a
16-hour gaming
marathon. These days, he's upgraded to
a Linux box.
INFO
[1] World of Spectrum:
http://www.worldofspectrum.org
[2] C64.com:
http://wwww.64.com
[3] Amiga Forever:
http://www.amigaforever.com
[4] Amiga In A Box:
http://aiab.emuunlim.com
[5] Aminet:
http://wuarchive.wustl.edu/~aminet
[6] Little Green Desktops:
http://www.atari.st
[7] Zophar’s Domain
[8] Programmer’s Heaven:
http://www.programmersheaven.com/
zone8/index.htm
Conclusion
Hopefully this article has
introduced you to the world
of emulation. The emphasis
has been on old games,
since this is the source of
Figure 6: Super Mario World on ZSNES.
Want to know what’s up next?
Subscribe
Subscribe
to Linux Magazine Preview,
our free monthly email newsletter!
WWW.LINUX-MAGAZINE.COM/NEWSLETTER
Want to know what’s up next?
Plik z chomika:
Kapy97
Inne pliki z tego folderu:
2010.10_Task Force-Command-Line Task Managers.pdf
(515 KB)
2010.10_Plan on It-Ultimate Gtd System with Org-Mode.pdf
(708 KB)
2010.10_Pdf Power-Creating Pdfs from the Command Line.pdf
(700 KB)
2010.10_Barely There-Lightweight Content Management with Barebones.pdf
(647 KB)
2010.09_One Fell Swoop-Batch Image Conversion with Converseen.pdf
(494 KB)
Inne foldery tego chomika:
Beginners
Business News
Comment
Community
Community Notebook
Zgłoś jeśli
naruszono regulamin