Saturday, October 17, 2009

Inside the Atari Jaguar

As part of a Console Dev. assignment, we had to take apart old consoles in groups and examine their internal architecture. Lucky us, we got the “64bit” monster, the Atari Jaguar..



Dissassembly



Disclaimer: Use the following information at your own risk.

There was a surprising shortage of information about how to take the Atari Jaguar apart and eventually we just had to try it for ourselves. It was relatively simple in the end.

* 4 Screws hold the top to the base

* Underneath is a strange metal plate, covering the entire console

* The metal plate is fastened down with metal tabs

* These tabs must be bent back with pliers, to release the plate

The metal plate is very sharp around the edges! Be careful not to cut yourself.

I’m still waiting to receive the pictures from this! I will add them to this post once I have them.



Inside the Belly of the Beast…



The Jaguar is run by 5 processors spread between 3 chips:

The Tom Chip (26.59 MHz):

GPU (32bit)

Object Processor (64bit)

Blitter (64bit)

The GPU, OP and Blitter use a RISC architecture (Reduced Instruction Set), which means it is a design that emphasises the idea of many smaller instructions to meet an end goal, which in theory increases performance through optimisation. A Blitter is a co-processor which rapidly transfers memory. In the Jaguar, the Blitter used its 64bit register for fast access of the DRAM (Also in the Tom Chip).

DRAM, also known as Dynamic RAM has a simple structure compared with other types of memory such as SRAM. It consists of only one capacitor and one transistor per bit. The memory has to be constantly refreshed due to the capacitor leaking charge, hence the name “Dynamic” RAM.

The Jerry Chip (26.59 MHz):

DSP (32bit)

The DSP, or Digital Signal Processor was used for some graphics processing and some general purpose processing. However, it would mainly deal with the sound and control systems onboard the Jerry Chip. The Jaguar boasts CD-quality sound and full stereo.

Motorolla 68000 (13.295 MHz):

General Pupose Processor (16/32bit)

The Motorolla 68000 was also used in a number of other consoles such as the Sega Mega Drive. Although the 68000 was designed to just read controller inputs, many developers used it to program logic too.



Commercial “Success”?



As you can see, only two parts of the Jaguar were actually 64 bit but nonetheless, it was still quite a powerful console for its time. However, time and time again, the games industry has shown that raw power isn’t everything. The Dreamcast which was by far one of the most sophisticated consoles of its time, sold so badly that it put Sega out of the console business permanently.

As early as 1999, the Dreamcast had online capabilities, was a 128bit system (compared with the 32bit PS1) and the standard memory card (£15-20), called a VMU had a screen + buttons! You could manage your saved data using a VMU, without switching on your console and you could even play minigames on them!

Something more recent, however…

The above image shows pretty much a complete reverse and that hardware wise, the weakest consoles currently sell the best.

In terms of sales, the Jaguar sold only 125,000 units (which is very low, even for the time) and had over 100,000 unsold units when Atari closed production. Compare this to the 49.1 million SNES units which sold by 1992 and you can really put this figure in perspective. The Jaguar was retailed for $249.99 which is less than half the $700 “3DO”, that it consequently outsold.



Assembly



It’s nearly impossible to find any Jaguar game dissassemblers. However, it is possible to find them for the highly popular 68000 and I used this to have a look inside Alien vs. Predator (One of the top selling Atari Jaguar games).

Here is a small excerpt from which I’ve commented on points of interest:

moveq #-105,d4 move.b -(a6),-(a3) <--- Moving values between registers moveq #122,d6 <--- Moving an immediate into a register dc.w $AB4C <--- Memory address adda.l (a0),a5 blt.s L0000BC ; dc.w $6D24 <--- blt = branch instruction (branch less than). Branch to label L0000BC if conditions met subq.l #5,$60(a0,d7.w) cmp.b #$24,d2 <--- Compare sub.l $33A5(a0),d2 eor.b d7,(a7) <--- XOR logic instruction add.l (a0),d0 <--- Additition, using registers move.w $340E(a3),$78CB(a4) subq.w #3,(a7) subx.b d6,d0 dc.w $FFFF813A suba.l $6E(a4,d3.w),a4 dc.w $0E5F,$6105 L0000BC <--- Label



Conclusion



It was fun to look at something completely different, to dive back into the past and examine it in detail. Considering the total absence of Jaguar information out there, it’s nice to feel that I’m somehow filling that void, even if just a tiny bit. I hope that I can get hold of the photos of us taking it apart soon, so that I can add them to this post.

There was a lot of controversy about the number of “bits” that the Jaguar had, even though bus size isn’t nearly as important as good processing power or fast memory. The console bit wars are kind of stupid when you consider Windows has been and still is a mostly 32-bit OS.

My guess is that consumers are unwittingly drawn to large numbers. Just look at the model numbers for graphics cards (that go unnecessarily into the 1000s), or the super-awesome-spectacular-arbitrary-branding 3000!, or the common user who buys enormously powerful machines, just to check their emails and use a word processor.

I find it hilarious how the Digital Camera market is being pushed in this way, consumers buying more and more “megapixels” that they don’t particularly need (Unless you’re a professional photographer). Infact, one of the most common issues the average user, one who doesn’t usually know how to do simple things like resize an image, struggles with is trying to send their photos by email because they’re so bloody huge!

Images and data are property of their respective copyright holders / owners.

Articles used in this post are for purely educational purposes, under fair use.

[Via http://code-bytes.net]

No comments:

Post a Comment