Re: A86: Standards


[Prev][Next][Index][Thread]

Re: A86: Standards



On Fri, 5 Sep 1997 Steve86Asm@aol.com wrote:

> Dan Eble writes:
> >  No, and it's something we should definitely discuss.  It would be good to
> >  store all data in type $0B variables, so that they don't get confused with
> 
> Is there any way of making a program/.86? file automatically this type? (e.g.
> A byte before the name in the .86? file?)  If not, how could it be changed or
> created?

If you're talking about the format that send86 and get86 for DOS use,
yeah.  The type is stored as the first byte in the file.  There is no
checksum.  Other formats are only slightly more bothersome to change.


> >  other variables.  Each data type should have it's own identifier: maybe a
> >  4-byte name (similar to extensions in DOS) stored within the variable.
> 
> ?
> You mean, have all the $0B variables have a 4 letter name, or what?  I don't
> see the purpose for that.  It should be just as easy to have an 8 letter

No, I meant what I said: a 4-byte name stored within the variable.  The
variable's name would still be 8 letters long, but the internal ID tag
would be 4 (or whatever).


> Definitely.  I suggest something like this:
> 
> ret              ;In case there's any way to run it
> .db <description>,0     ;Description, such as "Chem86 Data File"
> Data:
> 
> ;Data goes here
> 

The "ret" is not necessary if we use type $0B variables.  Also, a
variable-length description would be a bad thing to include right at the
top, since it would make future enhancements to the standard difficult.
Here's what I suggest.

  .db magic    ; a magic number to make sure this is a standard var
  .db version  ; standard version number
  .db "1234"   ; a 4-byte file type, "chem", "alib", "peng", etc.
  .dw title    ; offset of a longer description ($0000 if none exists)

By using an offset for the description, we're can easily expand the
table in the future.  We need the magic number in case someone foolishly
decides not to follow the standard.

--------
Dan Eble (mailto:eble@cis.ohio-state.edu)
         (http://www.cis.ohio-state.edu/~eble)


References: