JEO 42/46
//// The Emulator
We started out by first learning the Jaguar system. To do this, we
wrote a Julia fractal morpher, that generated real-time Julia
fractals. (Kind of like our JuliaSaver program.) This took us through
the weaknesses of the 68000 CPU, the RISC processors, the blitter, and
the display processor. After three weeks, the Julia morpher was done,
and we felt like we had learned a lot about the Jaguar. But that left
us with only five weeks to do something about the emulator.
We put our nose to the grindstone, so to speak. We cranked out an
amazing amount of code. We discovered technical difficulties - some
that threatened the viability of the entire project. We overcame. We
finished the 6502/6507 emulator, running on a single RISC processor, a
tiny 4K program, and it ran faster than the 2600's CPU. To make it
work, we had to count cycles, trim instruction sizes, and take massive
shortcuts. I'm pretty sure we could write the fastest 6502 emulator
for almost any platform, now.
But that was just the CPU emulator. We still had the hardware emulator
to do, and little more than a week to go before our deadline. This
was harder, because not only did we have to deal with what hardware
was being accessed, but also when the program accessed it. It was
difficult, and we missed our deadline by a week, but we had a 50%
working hardware emulator done. We had a display. We had 2600 games
running on the Jaguar!
Relieved, we put the Julia morpher on the program as a title screen,
added a simple menu to let you choose which game to run (Combat,
Pac-Man, Yars' Revenge, Adventure, Berzerk, and Defender), and sent it
off to Atari.
//// The Run-Around
They loved it. They really did. At first, they thought the Julia
morpher was a compressed animation, like a QuickTime movie. We
patiently explained that no, it was generated in real time, and if
they twiddled with the console's controller, they could control it
themselves.
Then our problems started. Although they liked the demo, they didn't
seem terribly interested in signing a contract with us to finish the
emulator. We later learned that an Atari employee was working
in-house on an emulator of his own. Atari suggested if we had more
ideas for games, we should send them in. So we sort of put the
emulator on the back burner and looked around for other ideas.
In producing the emulator and the Julia morpher, we became quite aware
of some of the limitations the Jaguar had. The hardware was designed
very explicitly to produce Gouraud-shaded polygons and large numbers
of sprites. Although it could do texture-mapping, it wasn't very good
at it and could only do it slowly. We focused on ideas that we thought
the Jaguar could do well. But whenever we submitted an idea to Atari,
they would delay for weeks before telling us "yes" or "no". (They
invariably said "no", of course.)
Without a contract, we were reluctant to work on any serious Jaguar
products, including the emulator. If we had been writing for the PC,
there would have been other companies to sell the work to, but there
weren't too many companies in the Jaguar arena. And since the 2600
emulator sort of needed Atari's library of games, it didn't make much
sense to try to sell it to somebody else.
We did produce a few other interesting little demos for the Jaguar,
though. Continuing along the fractal theme, we produced a fast IFS
fractal morpher and a Mandelbrot generator. IFS fractals are the
"fern" and related types. We did two of these; one generated 4,096
IFS points at about 20 frames per second (fps), and the other
generated 75,000+ IFS points at 8fps.
The Mandelbrot generator has a few interesting notes. Along with the
Jaguar development kit, Atari included an example program which used
the RISC processor to generate an image of the Mandelbrot set, 256x200
to 256 iterations. This program ran in about eight seconds. Our
generator, using only one RISC processor, generated a 320x480 image to
256 iterations in five seconds, and we could have easily used both
RISC chips. (Atari's code could only use one.)
... catfish@wingnet.net or http://surf.to/troy >485 hits!
--- JetMail 0.99beta22
---------------
* Origin: When Starlings Mate - Benton, TN (1:362/708.4)
|