Date : Thu, 20 Oct 2005 00:57:21 +0100
From : jgh@... (Jonathan Graham Harston)
Subject: Re: BBC Rom File Structure
Jeff Gaines <jeff@...> wrote:
> information from the ROM image like name, copyright etc. From
> examining a few ROMs in a hex editor they don't have 'standard'
> layouts, I guess they can't because the length of the name will
> differ and also the length of the name of the copyright holder.
They do have a 'standard' structure. If they didn't, then there
would be no way the OS could recognise them as valid ROMs.
Steve Fewell wrote:
> http://owl.8bs.com/basic/basic4-8000.htm contains the structure for
> Language ROMS. I think other types of ROMS have different structures
> though!
If other types of ROMs had different structures, then they
wouldn't be recognised as ROMs!
Matt Calow wrote:
> 00-02 JMP language entry
> 03-05 JMP service entry
> 06 ROM type
> 07 Copyright offset pointer (=nn)
> 08 Binary version number
> 09.. Title string, printed on selection as a language.
> vv.. Optional version string, preceded by &00.
> nn-nn+3 &00, &28 '(', &43 'C', &29 ')'
> nn+4.. Copyright message
> xx Copyright message terminator (&00)
> xx+1-xx+5 If applicable, second processor relocation address.
Can I recommend that anybody writing a ROM includes a version
string of the format "x.yz (dd Mmm yyy)", eg "1.04 (05 May 2004)",
for example, from HADFS:
\ ----------
\ ROM HEADER
\ ----------
JMP Language
JMP Service
EQUB &82
EQUB Copyright-&8000
EQUB &05
EQUS "HADFS"
EQUB &00
EQUS "5.30 (15 Mar 2004)"
.Copyright
BRK
EQUS "(C)J.G.Harston"
BRK
Also, some of my ROMs have an extra field after the version string
to allow multiple ROMs to live in the same bank:
\ ----------
\ ROM HEADER
\ ----------
JMP Language
JMP Service
EQUB &82
EQUB Copyright-&8000
EQUB &05
EQUS "HADFS"
EQUB &00
EQUS "5.30 (15 Mar 2004)"
EQUB &00
EQUW NextModule :\ Points to next 'JMP Language' entry
.Copyright
EQUB &00
EQUS "(C)J.G.Harston"
EQUB &00
--
J.G.Harston - jgh@... - mdfs.net/User/JGH
Sheffield Boundary Review at http://mdfs.net/User/JGH/Docs/Politics/ParlReview