Hi,
Elsewhere on this site, there was some discussion on the need for a common way to uniquely identify user-added programs stored in ROM.
A program could be identified by a "magic" string, similar to how many file formats work.
In the ROM version of X16 Edit I have for instance stored this string at address $fff0: "X16EDIT" followed by three more bytes representing the program version (major-minor-patch).
@pzembrod commented on this, and said that the place near end of ROM might not be best suited, should you want to replicate the calling addresses of the Kernal routines.
Another possibility would then be the start of ROM, i.e. $c000.
RFC:
Is there any need for a standard way of marking and identifying ROM based programs like this?
Should we use a magic string based solution as described above?
If so, where in ROM should we place the magic word?
Can we agree on a magic string format? For instance:
<PROGRAM NAME><NULL><VERSION>
where <PROGRAM NAME><NULL> is a null terminated string containing the program name
where <VERSION> is the program version represented by three bytes (major, minor, patch)
with a total length of not more than 256 bytes
Example: "X16EDIT",0,0,3,3 => X16EDIT version 0.3.3