RE: Empire Strikes Back

From: Clay Cowgill <ClayC_at_diamondmm.com>
Date: Thu Sep 09 1999 - 19:45:58 EDT

> I didn't see this when I had my Star Wars connected to my o'scope. One
> would
> think I wouls have seen it there since I had adjusted the display so that
> all
> traces fit inside the display.
>
I don't think it's in Star Wars. I've only noticed it in Empire Strikes
Back.

> It seems that some amount of effort was put into this and it raises some
> interesting questions:
>
> 1) Would this behavior show up in some form in an Emulator? (MAME,
> etc.)
>
If anyone has ESB running in an emulator, I'd suspect they'd see it there
assuming their screen clipping region is large enough.

> 2) Why was it put there? Troubleshooting?
>
I fully suspect it was there for development. Probably to show the
programmers how long things were taking and the relative performance of the
game. I did the same thing on SNES stuff-- just a little counter that would
display something like how many times the main loop executed before the
display refresh occurred or how many milliseconds of code time I had left
prior to the next vertical blank interrupt coming in. Basically tells you
how much CPU you have left before you start dropping frames or having
noticeable "slowdown".

> 3) Were there further plans to use this "feature" in future vector
> games
> never made?
>
Wasn't ESB about the last in line? At any rate, the next vector generator
was a DSP based one, so the timing constraints would definately change...

> Probably 2 and 3 we won't know, but #1 would be interesting to find out.
>
> Since processing load is relative, what would be the standard for the load
> measurement? Is it a hardware calculation or software based?
>
That could really depend. Star Wars and ESB definately have variable
frame-rates (unlike Asteroids for example), but I'm not really sure if the
rate is determined by how long it takes the AVG to draw, or how long it
takes the 6809 and mathbox to calculate a scene. I think it's limited by
the AVG since just displaying "static" images like the ESB logo influences
the speed the system runs at.

I suppose they could use a timer in a POKEY to measure the amount of time
 from the VGGO signal to the HALT signal which would give them the number of
"ticks" it took to draw the frame. You'd then multiply that by the length
of each tick and get a time in seconds (or milliseconds).

> Here's another thought - was the number used externally (software or
> hardware
> engineer used these numbers for design), or internally? If internally,
> what
> would happen if it reached a specific number?
>
Like I said, I think it was probably a software development/debugging aid
that just got left in. (By the time they were doing final testing the
screens were probably all adjusted to display the "play area" and it just
got forgotten...)

> Very interesting observation Clay..... I've always wondered what the
> processing
> load is on games like Star Wars or Tempest, where it would seem that the
> game
> could take a good amount of (1980's) processing horsepower to operate.
>
I think it's safe to say that ESB probably takes more than 100% of the Star
Wars boardset horsepower. ;-) That would seem to explain the slowdown in
the game when there's lots going on. It would be curious to find out if the
6809 is waiting for the AVG or vice-versa though...
>
-Clay
Received on Thu Sep 9 18:46:13 1999

This archive was generated by hypermail 2.1.8 : Fri Aug 01 2003 - 00:33:01 EDT