|
07-Aug-06 |
Atari
XL/XE Space Harrier Conversion Project
What's the reason behind this insanity?
Like many others back in the mid 80's, my brothers and I were excited
by playing the best home versions of arcade games and the idea of programming
games for our own home computer. We owned Atari’s legendary 2600 console
before getting an Atari 400 computer, enticed by reading tales of its
exotic hardware designed for gaming. Later on we upgraded to the Atari
800XL, which had more memory and a proper keyboard - rather important
for programming. Tempted once again by the lure of exciting hardware
with excellent gaming potential, our final shared machine was the Commodore
Amiga (created by the same design team as the original Atari computers).
In 1986, the original Space
Harrier arcade machine was released, and it amazed us. It was an
incredible piece of hardware for the time: Cartoon quality, 3D scaling
sprite graphics the likes of which had never been seen before. Digital
stereo sound and speech. All in a moving sit down cabinet. It was a
tough game to play though, and I was pretty useless at it. However,
my brother Nick is a master,
and I used to watch him play it for ages (he can sometimes complete
it without losing any lives!). Of course we wanted to be able to play
our favourite game at home on the Atari 800XL, but it was not to be:
The Atari 8-bit series was dying out by this time (at least here in
the UK), with early consoles and the C64 in their prime, and the 16-bit
ST and Amiga just arriving. Elite
Systems had no incentive to produce an Atari 8-bit version.
As we were dabbling in programming, Space Harrier inspired and challenged
me to try making some fast routines for moving large objects around
on the Atari. After that it just seemed a natural progression to keep
trying other tricky things from the game while learning, so it became
a hobby.
I did (redid and discarded) lots of routines over a few years, using
the MAC/65 assembler, and had most of Stage 1 done. In 1992 when my
real work started to involve more programming, that really took the
fun out of it for me - I finally gave up the project. I was never really
happy with the compromises that had to be made either. The Atari is
woefully underpowered compared to the arcade machine, and Space Harrier
is just too beautiful a game for the little Atari to do real justice
to. The 800XL went to the Attic, and at some point sadly passed away
up there.
My brother and I finally got a PC of our own in 1999 and discovered
the Internet emulation scene. Our favourite Atari games and ports like
“Rescue on Fractalus”, "Ball Blazer", “Encounter”, "Joust"
and “Mr Do!” could be played once again, and perfect versions of arcade
machines played through MAME. I could also mess around
with programming an Atari again, but this time with an emulator
and cross-assembler (ATasm
is great if you’re used to MAC/65) – so much quicker and easier than
a real Atari. I felt the itch to do some coding again when my programming
duties at work dried up as we moved to another system, so I resurrected
the project in late 2000. I started out using Atari’s biggest 8-bit,
the 128K 130XE as a minimum specification to try and work around some
of those compromises that had bothered me earlier. The latest plan is
for it to work on any 64K Atari XL or XE as a 1MB cartridge (something
not cost effective back in the day), instead of the standard 120K floppy
disk. It's a total rewrite, but with the benefit of (some) hindsight.
Having a PC for tools and utilities and using MAME
and the Internet for reference has made life a lot easier too. Finding
that other people are still developing for vintage machines has also
been very encouraging.
You've been messing around for a while now, so when will it be finished?
Believe it or not, however unimpressive Space Harrier may look compared
to games of today, it is still quite an ambitious game to do for any
8 or 16-bit machine; even newer computer and console versions
had to compromise. I only work on this in my spare time as a hobby,
and I have no idea if or when it'll ever be finished.
What are the specifications of the arcade game?
- Twin 10MHz 16-bit 68000 processors
- 320x224 screen resolution, over 2000 on-screen colours, 32768 colour
palette
- 2 layers of 8x8 tiles with 1024 on-screen colours
- 1 text layer with 64 on-screen colours (a subset of the 1024
on-screen tile colours)
- road layer (no information about on-screen colours)
- sprite layer with another 1024 on-screen colours
- 128 zoomable sprites, up to 256 pixels wide, 16 colours each
- Multi-channel 8-bit digital stereo PCM sound + 4 channel FM synthesis
sound controlled by a dedicated 4MHz Z80 processor
There doesn't seem to be a definitive specification for Space Harrier
hardware on the Internet (except perhaps in the code for MAME),
but I believe the above is mostly correct. Information comes from system16.com
and a couple of documents tucked away on Charles MacDonald's web site
- Sega
System 16B hardware notes and Sega
Pre-System 16 hardware notes
What are the specifications of the Atari 8-bit computer?
- 1.79MHz 8-bit 6502 processor
- Different screen resolutions available, 1 layer only. Some more
useful ones are:
- 320x192 screen resolution with 1 on-screen colour, 128 colour
palette
- 160x192 screen resolution with 4 on-screen colours, 128 colour
palette
- 40 4x8 tiles, 160x192 resolution with 5 on-screen colours, 128
colour palette
- 80x192 resolution with 16 on-screen colours or 16 shades of
1 colour
- 4 sprites, 8 pixels wide, 1 colour each
- 4 sprites, 2 pixels wide, 1 colour each
- 4 channel Square wave and Noise channels
- 4-bit digital sound possible by using a large proportion of the
6502 processor power