<< Newer Articles posted March 2005 Older >>

The Frighteners

This movie was my first introduction to Peter Jackson, back before he was that Lord of the Rings guy, and Vera and I wanted to see what we thought of the movie now that we'd seen a few other of his movies. I seem to remember it being a quirky little trifle of a film, and in retrospect I was right.

(An amusing aside: my second introduction to a Peter Jackson film was purely an accident. We were renting a bunch of videos for Halloween one year with some friends back in San Francisco, and we decided to grab a copy of The Texas Chainsaw Massacre, along with a few other films. We decided to save this classic for last, so we were definitely feeling the alcohol when we opened up the case and saw that the wrong movie was inside. The movie was called Dead Alive (Braindead for you folks in the rest of the world) and frankly it was late enough we didn't care. We popped it in and revelled in just how much of a total over-the-top gorefest it was. Definitely made for a fun end to the evening!)

The Frighteners has a lot going for it. Michael J. Fox plays the main character, a loser who can talk to the dead and exploits them to freak out folks so that he can come in and save the day. There are some great supporting roles from Dee Wallace Stone and Jake Busey as psychopathic killers — or are they? The spirits are not only great special effects but also great comic relief.

But I guess in the end, the movie just comes off as pretty darn fluffy. It's a lighthearted horror/comedy, and nothing that happens feels particularly meaningful in the big scheme of things. The main character isn't quite sympathetic enough to win you over in the end, and the rest of the characters aren't substantial enough to generate much feeling one way or the other.

Overall, it was fun to look at, and worth a second viewing, but only just barely. 2.5/4 stars.

Sega, schematics, sound and color

Been spending some time trying to figure out some remaining Out Run/X-Board/Y-Board details from schematics and PAL dumps. A special thanks to Colin Davies for digging up some Out Run schematics — these have been quite helpful in nailing down some details. For example, the priorities between the two roads in Out Run were not known, but thanks to the schematics I was able to identify the logic device that controls it. Once we got a dump of that, I was able to get things working correctly, fixing a few minor priority cases that weren't correct (though I was mostly right :-)

One other thing I've been looking at is the Y-board sprite priorities. It is clear from the schematics that they hacked in a 7-bit priority value for the line sprites (top layer). Unfortunately, those 7 bits go into a black box custom part that does the mixing with the 16 bits of fancy Y-board rotato-sprites, so a lot of guessing was involved. What makes it even harder is that for the most part, the games make very little use of the priority. It is mainly used for your ship in Galaxy Force 2 and for some of the zoom in/zoom out effects in G-Loc and Strike Fighter. I don't have a full explanation of what the 7 bits of priority do, but I have something that seems to be mostly correct.

A baffling aside in this instance. I was searching for cases where the priority was being used and found that it was used in the static title screen on Strike Fighter. What's really bizarre is that periodically during attract mode, the title screen will play some missile sounds and explosions. Well, underneath the title screen, there is actually some graphics animating missiles and explosions, but all of that is over-rendered by the title screen. Even more confusing is that as far as I can tell, this is entirely deliberate. Both the title screen and the missile/explosion sprites are drawn with the fancy Y-board sprite generator, where the priorities don't matter. And even if they did, the title screen is quite clearly higher priority than everything else. If someone knows where to observe a real Strike Fighter, I would be immensely curious to confirm my suspicions.

On non-Sega notes, yes, I fixed Q-Sound for the Capcom games. Stop bothering me.

On a more interesting non-Sega note, I came across this auction for a Driver's Edge cabinet. Now, Driver's Edge is quite the rare game to find, and was also quite the bitch to get working because unlike the other 32-bit Strata games, it uses a pair of TMS320C31s to drive the polygon engine, and some extensions to the standard Incredible Technologies blitter chip as well. Anyway, this auction had the first actual Driver's Edge screenshots I'd seen. And guess what? It turns out I had red and blue swapped in the driver! Once I fixed that, I can match the screenshots pretty much exactly, which is a big relief because there was a lot of subtle stuff involved in making that driver work!

Okay, where’s my tasty pudding snack?

Remember Overclocked? Well, I guess they owe me something. If only I'd realized the benefits to writing a Galaxy Force 2 driver sooner....!

Frequency

Back in 2000, I saw the previews for Frequency and thought it sounded interesting, certainly worth a rental someday. Then I totally forgot about it until it randomly popped up on my radar last year reading another movie review. Five years after it first came out, we finally got around to seeing it.

In general, I would say that the movie was a decently executed time travel/mystery movie. It certainly requires you to suspend your disbelief in a lot of ways in order to "buy into" the premise, but if you're like me, that kind of stuff isn't hard to do. As someone who got his degree in physics and who spends a good chunk of his life on computers, you would think I'd be more jaded about the time travel anomalies and plot holes. But I guess when it comes to movies I don't care too much. :-)

The murder mystery aspects of the movie were suspenseful and kept things moving along. They had a great chance at the end to twist things around and create something unexpected, but thanks to some last-minute contrivances, we got the Hollywood happy ending instead. Still, it wasn't enough to ruin the movie. The acting was actually quite good and I felt invested enough in the characters that a happy ending came as a bit of a relief.

Notable cast sighting this time around was James "Jesus" Caviezel playing the son of Dennis Quaid. It's nice to see Dennis Quaid a bit more recently; he had a bit of a hot streak in the late 80's and then went below the radar for a little while.

Overall, I would say an enjoyable movie, but not a particularly outstanding one ... 3/4 stars.

MAME 0.94

Looks like Haze took the opportunity to make this the official 0.94 release. Yes, the Y board driver is faster than I said it would be. This is for two reasons. The first is simple: I had the CPU interleaving turned up higher than was necessary, and this was slowing things down quite a bit.

The second reason is quite interesting. The rotation RAM contains the rotation parameters, of course, but those occupy only 24 bytes of the 2k allotted to the rotation. Looking at the rest of the data I noticed that it appeared to specify a number of start/end pairs that were in the same coordinate range as the sprites. Furthermore, I noticed that these values seemed to change as the rotation changed. Strange.

Then it hit me: this was a clipping list, with one entry for each pair of scanlines in the unrotated sprite buffer. Looking back at OG's code, he had supposed this too. But it makes total sense. The games would compute the rotation, and then fill in this list of coordinates that explained where the beginning and end of the clipping region was for each scanline of the sprite buffer. Then, when the sprites were rendered, they could be clipped to the area specified. This would save the hardware a lot of rendering time, since it wouldn't be drawing sprite data that wasn't visible on the screen.

So I implemented this, and just like the hardware, it speeds things up quite a bit. My laptop can run the Y board games at 100% pretty much across the board now.

One side note: it appears that Galaxy Force 2 was a little sloppy about the clipping on the top and bottom. This was likely lost in the overscan on the real game and probably saved a tiny bit of extra rendering power for those really insanely complex scenes it likes to render!