Re: [stella] VCS.H standardization

Subject: Re: [stella] VCS.H standardization
From: "Erik J. Eid" <eeid@xxxxxxxxx>
Date: Sun, 25 Nov 2001 21:16:12 -0500
At 12:55 PM 11/25/01 -0800, Roger Williams wrote:
BTW, what did the original Stella designers at Atari and their competitors use? This habit must have become enshrined in the very early days, yet it's a wheel that has been reinvented several times.

I suspect they may not have had an "include file" as we know it. It depends on whether their compilers (this was 10-20 years ago) supported the inclusion of an external file. Also, in the earlier years, memory on the development system was at a premium, so source code often had minimal comments.

Of the three complete sources on the Stella Gets a New Brain CD (Communist Mutants, Frogger, and Suicide Mission), all have their register equates at the beginning of the code and none use the same format or names for all the memory locations. (What we know as REFP0 is either RP1 or P0MIRR, for instance.)

I'd think we should insist on a complete vcs.h that has all the registers
describbed in the stella manual.

I agree. It will go a long way toward eliminating some of the "I can't compile this" problems we encounter.

Effectively, a complete vcs.h will be like a set of published procedure and function calls from any high-level language's library. In C, imagine the confusion if three different developers had three different names for strcmp!

The stella manual tells us what the registers are named, so there
is no ambiguity. [...] This is not the case with value constants.
Suppose I decide P_TwoMedium should be P_2MED or P_Dbl_Med? There is no authority to say "that's wrong," so these definition files could end up doing the Darwin's Finch thing.

Perhaps some members of the list could come together to be that authority, developing a comprehensive vcs.h that all of us could use. To allow for existing programs to continue as they are, we could establish a date at which all new homebrews should use this header. Since we have the registers handled, the only potentially sticking point will be the naming conventions used for the constants. Since we're all collaborating in a sense already, this should not be too difficult or contentious.

Once complete, this new vcs.h (call it "stella.h" to differentiate it) could be placed at the archive website and on sites of homebrewers, and all developers would be encouraged to use it.

. . \_ +\_ + o_-/ . O
. \-_o -=/- . .
. . \=// .
---------\_______ ||O ___.______
/* Erik Eid */ \____||L/\_____/
/* eeid@xxxxxxxxx */_______________________

Archives (includes files) at
Unsub & more at

Current Thread